/*
//
//              INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license  agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in  accordance  with the terms of that agreement.
//    Copyright (c) 2007 Intel Corporation. All Rights Reserved.
//
//
*/

#include "umc_defs.h"
#if defined(UMC_ENABLE_AVS_VIDEO_DECODER)

#include "umc_avs_dec_fusion_core.h"
#include "umc_avs_pic.h"
#include "umc_avs_dec_slice_init.h"

namespace UMC
{

Status AVSDecFusionCore::InitializeFrame(AVSFrame *pFrame)
{
    Status umcRes;

    // initialize the frame and allocates the planes
    // call the parent's method
    umcRes = AVSFusionCore::InitializeFrame(pFrame);
    if (UMC_OK != umcRes)
        return umcRes;

    // create reference list & increment
    umcRes = CreateReferenceLists(pFrame);
    if (UMC_OK != umcRes)
        return umcRes;

    // assign planes to slices
    umcRes = pFrame->SetSlices();
    if (UMC_OK != umcRes)
        return umcRes;

    return UMC_OK;

} // Status AVSDecFusionCore::InitializeFrame(AVSFrame *pFrame)

} // namespace UMC

#endif // defined(UMC_ENABLE_AVS_VIDEO_DECODER)
